package com.yunyao.framework.vo.project;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author xingjishuai
 * @date 2024-07-23
 */
@Data
public class ProjectSettlementOrderVO implements Serializable {
    private static final long serialVersionUID = 778344344230211847L;
    /**
     * 主键ID
     */
    private String id;

    /**
     * 对账周期开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationStartDate;

    /**
     * 对账周期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationEndDate;

    /**
     * 销售合同ID
     */
    private String contractId;

    /**
     * 销售合同编号
     */
    private String contractNo;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 采购单位ID
     */
    private String purchaseDeptId;

    /**
     * 采购单位名称
     */
    private String purchaseDeptName;

    /**
     * 项目ID
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 供货单位ID
     */
    private String supplyDeptId;

    /**
     * 供货单位名称
     */
    private String supplyDeptName;

    /**
     * 供应商ID
     */
    private String supplierDeptId;

    /**
     * 供应商名称
     */
    private String supplierDeptName;

    /**
     * 供货订单数量
     */
    private Integer supplyNum;

    /**
     * 供货订单含税总价
     */
    private BigDecimal supplyIncludingTaxTotalPrice;

    /**
     * 对账确认时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationConfirmDate;

    /**
     * 对账人Id
     */
    private String reconciliationConfirmPersonId;

    /**
     * 对账确认人
     */
    private String reconciliationConfirmPerson;

    /**
     * 对账确认说明
     */
    private String reconciliationConfirmMark;

    /**
     * 对账确认文件
     */
    private String reconciliationFile;

    /**
     * 备注
     */
    private String mark;

    /**
     * 业务状态 1:正常
     */
    @TableField("`status`")
    private Integer status;

    /**
     * 流程审批状态
     */
    private String auditStatus;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程设计模板信息ID
     */
    private String modelSchemeInfoId;

    /**
     * 流程部署ID
     */
    private String deploymentId;

    /**
     * 流程版本
     */
    private String processVersion;

    /**
     * 原对账单主键Id
     */
    private String reconciliationId;

    /**
     * 对账结算Id
     */
    private String reconciliationSettlementId;

    /**
     * 供货清单ID
     */
    private String supplyId;

    /**
     * 对账数量
     */
    private BigDecimal reconciliationNum;

    /**
     * 对账含税金额
     */
    private BigDecimal reconciliationPrice;
}
